package com.huatai.datacenter.entity.dataquality;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * @author gusiyi
 * @version 1.0
 * @className QualityLogDetailEntity
 * @description 描述：
 * @date 2023/6/5 15:27
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_quality_log_detail")
@ApiModel(value = "数据质量日志详情实体类",description = "数据质量日志详情实体类")
public class QualityLogDetailEntity extends QualityBaseEntity{

	@TableId(value = "id",type = IdType.ASSIGN_ID)
	@ApiModelProperty("质量日志详情id")
	private Long id;

	@ApiModelProperty(value = "质量日志id",required = true)
	private Long qualityLogId;

	@ApiModelProperty(value = "数据质量规则id",required = true)
	private Long qualityRuleId;

	@ApiModelProperty(value = "数据质量规则名称",required = true)
	private String qualityRuleName;

	@ApiModelProperty(value = "字段名称",required = true)
	private String fieldName;

	@ApiModelProperty(value = "源数据",required = true)
	private String sourceData;

	@ApiModelProperty(value = "问题描述",required = true)
	private String remark;

	@ApiModelProperty(value = "本次执行时间",required = true)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	private LocalDateTime executeTime;

	@TableField(exist = false)
	@ApiModelProperty(value = "下次执行时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	private LocalDateTime nextExecuteTime;

	@TableField(exist = false)
	@ApiModelProperty(value = "时间区间开始")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	private LocalDateTime startTime;

	@TableField(exist = false)
	@ApiModelProperty(value = "时间区间结束")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	private LocalDateTime endTime;


}
